package com.cqrcb.cloud.entity.quota;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Builder;
import lombok.Data;
import org.hibernate.validator.constraints.Length;

import java.math.BigDecimal;
import java.util.Date;

/**
* Class
* MultiQuotaLog
*
* @author 系统
* @created Create Time: Tue Jun 01 11:25:18 CST 2021
*/
@ApiModel(value="com.cqrcb.cloud.entity.quota.MultiQuotaLog",description="")
@Data()
@Builder
public class MultiQuotaLog {
    /**
     * 
     */
    @ApiModelProperty(value="id",name="id")
    private Long id;
    /**
     * 流水号
     */
    @ApiModelProperty(value="流水号",name="sid")
    private String sid;

    /**
     * 类型 1:金融产品预约金额 2:金融产品销售金额 3:营销额度
     */
    @ApiModelProperty(value="类型 1:金融产品预约金额 2:金融产品销售金额 3:营销额度",name="type")
    @Length(max = 20, message = "类型 1:金融产品预约金额 2:金融产品销售金额 3:营销额度名长度最长为20")
    private String type;

    /**
     * IP地址
     */
    @ApiModelProperty(value="IP地址",name="ipAddr")
    @Length(max = 30, message = "IP地址名长度最长为30")
    private String ipAddr;

    /**
     * traceId
     */
    @ApiModelProperty(value="traceId",name="traceId")
    @Length(max = 50, message = "traceId名长度最长为50")
    private String traceId;

    /**
     * skyworking的traceId
     */
    @ApiModelProperty(value="skyworking的traceId",name="skyTraceId")
    @Length(max = 80, message = "skyworking的traceId名长度最长为80")
    private String skyTraceId;

    /**
     * 数据id 
     */
    @ApiModelProperty(value="数据id ",name="dataId")
    @Length(max = 100, message = "数据id 名长度最长为100")
    private String dataId;

    /**
     * 数据类型 user:用户id org:机构
     */
    @ApiModelProperty(value="数据类型 user:用户id org:机构",name="dataType")
    @Length(max = 50, message = "数据类型 user:用户id org:机构名长度最长为50")
    private String dataType;

    /**
     * 之前的额度
     */
    @ApiModelProperty(value="之前的额度",name="beforeQuota")
    private String beforeQuota;

    /**
     * 本次使用的额度
     */
    @ApiModelProperty(value="本次使用的额度",name="useQuota")
    private BigDecimal useQuota;

    /**
     * 之后的额度
     */
    @ApiModelProperty(value="之后的额度",name="afterQuota")
    private String afterQuota;

    /**
     * number:数量 money:钱
     */
    @ApiModelProperty(value="number:数量 money:钱",name="quotaType")
    @Length(max = 50, message = "number:数量 money:钱名长度最长为50")
    private String quotaType;

    /**
     * 请求的数据
     */
    @ApiModelProperty(value="请求的数据",name="param")
    @Length(max = 2000, message = "请求的数据名长度最长为2000")
    private String param;

    /**
     * 0:正在处理中 2:错误 1:正常
     */
    @ApiModelProperty(value="0:正在处理中 2:错误 1:正常",name="status")
    private Integer status;

    /**
     * 状态描述
     */
    @ApiModelProperty(value="状态描述",name="statusDesc")
    @Length(max = 500, message = "状态描述名长度最长为500")
    private String statusDesc;

    /**
     * 
     */
    @ApiModelProperty(value="",name="createUserNo")
    private Long createUserNo;

    /**
     * 创建日期
     */
    @ApiModelProperty(value="创建日期",name="createDate")
    private Date createDate;

    /**
     * 创建时间
     */
    @ApiModelProperty(value="创建时间",name="createTime")
    @JsonFormat(pattern = "yyyy-MM-dd",timezone="GMT+8")
    private Date createTime;

    /**
     * 
     */
    @ApiModelProperty(value="",name="maintenanceUserNo")
    private Long maintenanceUserNo;

    /**
     * 
     */
    @ApiModelProperty(value="",name="maintenanceTime")
    private Date maintenanceTime;
}